
package com.insigma.business.qrcode.soldier.dao;


import com.insigma.business.qrcode.soldier.request.SoldierOuterLoginAccountBSearcher;
import org.apache.ibatis.annotations.Param;
import com.insigma.business.qrcode.soldier.entity.SoldierOuterLoginAccountDO;


import java.util.List;


public interface SoldierOuterLoginAccountDao {
    Integer insert(final SoldierOuterLoginAccountDO soldierOuterLoginAccountDO);

    Integer update(final SoldierOuterLoginAccountDO soldierOuterLoginAccountDO);

       Integer delete(@Param("id") final String id,
                   @Param("modifierType") final String modifierType,
                   @Param("modifierId") final String modifierId);

    Boolean updateRealNameIfMobileExisted(@Param("soldierId")String soldierId,
                                          @Param("mobile")String mobile,
                                          @Param("userName")String userName);

    SoldierOuterLoginAccountDO getAccountDtoBySoldierId(String soldierId);

    List<SoldierOuterLoginAccountDO> querySoldierOuterLoginAccountList(SoldierOuterLoginAccountDO record);


    List<SoldierOuterLoginAccountDO> search(final SoldierOuterLoginAccountBSearcher innerSearcher);


    SoldierOuterLoginAccountDO get(final String id);


    SoldierOuterLoginAccountDO getByOuterSysTypeAndUserId(@Param("outerSystemType") final Integer outerSystemType,
                                                          @Param("outerSystemAccountId") final String outerSystemAccountId);


    SoldierOuterLoginAccountDO getByIdCardNo(String idCardNo);

    SoldierOuterLoginAccountDO getByZlbId(String outerZlbAccountId);
}
